#ifndef __CGAMEOBJECT_H__
#define __CGAMEOBJECT_H__
#include <IEntity.h>
#include <IObject.h>
namespace Content
{
#define PI 3.141592654f

class CGameObject
{
public:
  virtual ~CGameObject();

  void updateObject(float alpha, float dT);
  virtual void update(float dT) = 0;
	void setPos(const float x, const float y, const float z);
	void getPos(float& x, float& y, float& z);
	void moveVec(const float x, const float y, const float z);
	void yaw(const float f);
	void pitch(const float f);
	void roll(const float f);
  void getOrientation(float& yaw, float& pitch, float& roll);
	void setYaw(const float f);
	float getYaw();
	void setPitch(const float f);
	float getPitch();
	void setRoll(const float f);
	float getRoll();
  bool isVisible();
  void setVisible(const bool b);

  void setEntity(IEntity* pEnt);
  IEntity* getEntity(void);

protected:
  IEntity* pEntity;
  IObject* pObject;
	CGameObject();
};

}

#endif